home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / mint095s.zoo / src / asm / quickzer.s < prev    next >
Encoding:
Text File  |  1991-06-01  |  967 b   |  41 lines

  1. ;
  2. ; quickzero(char *place, long size): zero an area of memory. "size" is
  3. ; the number of 256 byte blocks in the area, and must be > 0.
  4. ; registers changed: d0 and a0
  5. ;
  6. ; $Log: quickzer.s,v $
  7. ; Revision 1.1  1991/05/30  17:23:58  AGK
  8. ; Initial revision
  9. ;
  10.     SECTION    TEXT
  11.     
  12.     XDEF    _quickzero
  13. _quickzero:
  14.     move.l    4(sp),a0    ; place to zero at
  15.     move.l    8(sp),d0    ; number of blocks
  16.     movem.l    d1-d7/a1,-(sp)    ; save registers
  17.     moveq.l    #0,d1        ; zero them out
  18.     moveq.l    #0,d2
  19.     moveq.l    #0,d3
  20.     moveq.l    #0,d4
  21.     moveq.l    #0,d5
  22.     moveq.l    #0,d6
  23.     moveq.l    #0,d7
  24.     move.l    d1,a1
  25.     subq.l    #1,d0        ; adjust for dbra loop
  26. loop:
  27.     movem.l    d1-d7/a1,(a0)    ; zero the memory, 32 bytes at a time
  28.     movem.l    d1-d7/a1,32(a0)
  29.     movem.l    d1-d7/a1,64(a0)
  30.     movem.l    d1-d7/a1,96(a0)
  31.     movem.l    d1-d7/a1,128(a0)
  32.     movem.l    d1-d7/a1,160(a0)
  33.     movem.l    d1-d7/a1,192(a0)
  34.     movem.l    d1-d7/a1,224(a0)
  35.     lea    256(a0),a0
  36.     dbra    d0,loop
  37. ;
  38.     movem.l    (sp)+,d1-d7/a1    ; restore regs
  39.     rts            ; and leave
  40.     END
  41.